suppressPackageStartupMessages({
library(SummarizedExperiment)
library(SEtools)
library(edgeR)
library(DT)
library(pheatmap)
library(plotly)
library(dplyr)
library(sva)
library(reshape2)
library(overlapper)
})
source("Functions/EDC_Functions.R")
source("Functions/CriFormatted.R")
load("Data/TotalSumExp.RData")
load("Data/geneLengths.RData")
load("Data/AllSEcorrected.RData",verbose=T)## Loading objects:
## SEs
## DEAs
load("Data/brainspan.cortex.byAge.RData", verbose = T)## Loading objects:
## byAge
load("Data/iPSC.RData", verbose = T)## Loading objects:
## e
Organoids <- assays(SEs$chronic.org[,which(SEs$chronic.org$EXPO=="CNT")])$counts
Fetal2D <- assays(SEs$chronic.fetal[,which(SEs$chronic.fetal$EXPO=="CNT")])$counts
iPSC <- e[,grep("3391B",colnames(e))]
Fetal <- byAge
i <- intersect(rownames(Organoids),intersect(rownames(iPSC),rownames(Fetal2D)))
tot <- cbind(Organoids[i,],iPSC[i,],Fetal2D[i,])
tot <- filterGenes(tot)
en <- donorm(tot)
#put the rows in the same order
i <- intersect(row.names(Fetal),row.names(en))
en <- en[i,]
Fetal <- Fetal[i,]
#create the matrix of pearson correlation coefficients and plot
m <- matrix(0,nrow=ncol(Fetal),ncol=ncol(en))
for(i in 1:ncol(en)){ m[,i] <- apply(Fetal,2,FUN=function(x){ cor(log(en[,i]+1),log(x+1)) }) }
row.names(m) <- colnames(Fetal)
colnames(m) <- colnames(en)
m2 <- m[grep("pcw",row.names(m)),]
byheatmap(m2,cluster_row=F)org.chronic <- row.names(DEAs$chronic.org)[which((abs(DEAs$chronic.org$logFC.EXPO1X)>0.5 | abs(DEAs$chronic.org$logFC.EXPO1000X)>0.5) & DEAs$chronic.org$FDR<=0.05 & DEAs$chronic.org$logCPM > 0)]
save(org.chronic,file = "Data/DEGsOrganoidsChronic.RData")
MixN_org_chronic <- SEs$chronic.org[,which(SEs$chronic.org$EXPO=="CNT"|SEs$chronic.org$EXPO=="1X" | SEs$chronic.org$EXPO=="1000X")]
sehm(MixN_org_chronic, assayName = "corrected", org.chronic, do.scale = T, show_rownames = F, anno_columns = c("Line","EXPO2"), main="Chronic org DEGs")org.chronic2 <- row.names(DEAs$chronic.org)[which((abs(DEAs$chronic.org$logFC.EXPO1X)>1 | abs(DEAs$chronic.org$logFC.EXPO1000X)>1) & DEAs$chronic.org$FDR<=0.001 & DEAs$chronic.org$logCPM>0)]
MixN_org_chronic <- SEs$chronic.org[,which(SEs$chronic.org$EXPO=="CNT"|SEs$chronic.org$EXPO=="1X" | SEs$chronic.org$EXPO=="1000X")]
sehm(MixN_org_chronic, assayName = "corrected", org.chronic2, do.scale = T, show_rownames = T, anno_columns = c("Line","EXPO2"), main="Chronic org DEGs")FDRTh <- 0.05
LogFCTh <- 0.5
MixN1X <- DEAs$chronic.org
MixN1X$genes <- row.names(MixN1X)
MixN1X$logFC <- (MixN1X$logFC.EXPO1X)
MixN1000X <- DEAs$chronic.org
MixN1000X$genes <- row.names(MixN1000X)
MixN1000X$logFC <- (MixN1X$logFC.EXPO1000X)
Comp <- compareResultsFC(MixN1X, MixN1000X, FDRth=0.05, FCth=2^0.5, FDRceil=1e-10, logCPMth = 0, FCceil=8, title='Comparing MixN 1X to 1000X', geneLabel=TRUE)
## Warning in cor.test.default(AllRes$logFC_A, AllRes$logFC_B, method = corMethod):
## Cannot compute exact p-value with ties
Comp$Scatterload("Data/ASD.RData", verbose = T)
## Loading objects:
## ASD
## SFARI
## SFARIgenes
## AutismKB
## DecipherNeuro
## MSSNG
## ASDsevere
## ID
## NeuroOmim
## iPSYCH
## GDI
org.chronic3 <- row.names(DEAs$chronic.org)[which(DEAs$chronic.org$FDR<=0.05)]
MixN <- list(OrganoidsDEGsLong=org.chronic3, OrganoidsDEGs=org.chronic)
m <- overlapper::multintersect(ll = MixN, ll2 = ASD, universe = row.names(DEAs$chronic.org))
dotplot.multintersect(m,sizeRange = c(0,15))
m<-overlapper::multintersect(ll = MixN, ll2 = SFARIgenes, universe = row.names(DEAs$chronic.org))
dotplot.multintersect(m)geneStripPairEDCMix(SE = MixN_org_chronic,GeneSet = intersect(org.chronic,SFARIgenes$score1), printExp = FALSE,SampleColors = "Default")
## Warning: `fun.y` is deprecated. Use `fun` instead.
## Warning: `fun.ymin` is deprecated. Use `fun.min` instead.
## Warning: `fun.ymax` is deprecated. Use `fun.max` instead.
geneStripPairEDCMix(SE = MixN_org_chronic,GeneSet = intersect(org.chronic, union(SFARIgenes$score1,SFARIgenes$score2)), printExp = FALSE,SampleColors = "Default")
## Warning: `fun.y` is deprecated. Use `fun` instead.
## Warning: `fun.ymin` is deprecated. Use `fun.min` instead.
## Warning: `fun.ymax` is deprecated. Use `fun.max` instead.
geneStripPairEDCMix(SE = MixN_org_chronic,GeneSet = intersect(org.chronic, union(union(SFARIgenes$score1,SFARIgenes$score2),SFARIgenes$score3)), printExp = FALSE,SampleColors = "Default")
## Warning: `fun.y` is deprecated. Use `fun` instead.
## Warning: `fun.ymin` is deprecated. Use `fun.min` instead.
## Warning: `fun.ymax` is deprecated. Use `fun.max` instead.load("Data/DEGsFetalAcute.RData", verbose = T)
## Loading objects:
## fet.acute
geneStripPairEDCMix(SE = MixN_org_chronic,GeneSet = intersect(org.chronic, fet.acute), printExp = FALSE,SampleColors = "Default")
## Warning: `fun.y` is deprecated. Use `fun` instead.
## Warning: `fun.ymin` is deprecated. Use `fun.min` instead.
## Warning: `fun.ymax` is deprecated. Use `fun.max` instead.load("Data/DEGsFetalChronic.RData", verbose = T)
## Loading objects:
## fetal.chronic
geneStripPairEDCMix(SE = MixN_org_chronic,GeneSet = intersect(fetal.chronic, unlist(SFARIgenes)), printExp = FALSE,SampleColors = "Default")
## [1] "Expression values are not available for the following genes: CD38"
## Warning: `fun.y` is deprecated. Use `fun` instead.
## Warning: `fun.ymin` is deprecated. Use `fun.min` instead.
## Warning: `fun.ymax` is deprecated. Use `fun.max` instead.load("Data/DEGsFetalChronic.RData", verbose = T)
## Loading objects:
## fetal.chronic
load("Data/DEGsOrganoidsChronic.RData", verbose = T)
## Loading objects:
## org.chronic
MixN <- list(OrganoidsDEGs=org.chronic, FetalAcuteDEGs=fet.acute, FetalChronicDEGs=fetal.chronic)
m<-multintersect(ll = MixN, universe = row.names(filterGenes(Total)))
dotplot.multintersect(m)
## Warning: Removed 1 rows containing missing values (geom_point).
## Warning: Removed 1 rows containing missing values (geom_text).m<-multintersect(ll = MixN, ll2 = ASD, universe = row.names(filterGenes(Total)))
dotplot.multintersect(m)m<-multintersect(ll = MixN, ll2 = SFARIgenes, universe = row.names(filterGenes(Total)))
dotplot.multintersect(m)For details on data filtering, normalization, batch correction and differential expression analysis, see here
For details on the preparation of Neurodevelopmental disorder genes, see here